//
//  YXVideoExport.h
//  YXVideoKit
//
//  Created by Simon on 14-9-21.
//  Copyright (c) 2014年 YIXIA. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YXVideoEditor.h"

typedef void (^exportedBlock)(NSString*outputPath);
typedef void (^exportingBlock)(CGFloat progress);
typedef void (^exportFaildedBlock)(NSError *error);
typedef void (^exportCancelledBlock)(void);

@interface YXVideoExport : NSObject

- (void)cancelExport;

- (void) superExport:(YXVideoEditor*)editor effectArray:(NSArray*)effectArray bitRate:(NSInteger)bitRate outputPath:(NSString*)outputPath exportingBlock:(exportingBlock)exportingBlock exportedBlock:(exportedBlock)exportedBlock exportFailedBlock:(exportFaildedBlock)exportFaildedBlock cancelledBlock:(exportCancelledBlock)exportCancelledBlock;

- (void) superExport:(YXVideoEditor*)editor effectArray:(NSArray*)effectArray animatedLayer:(CALayer *)animtedLayer bitRate:(NSInteger)bitRate outputPath:(NSString*)outputPath exportingBlock:(exportingBlock)exportingBlock exportedBlock:(exportedBlock)exportedBlock exportFailedBlock:(exportFaildedBlock)exportFaildedBlock cancelledBlock:(exportCancelledBlock)exportCancelledBlock;

- (void)superExportNeedRebuild:(BOOL)need editor:(YXVideoEditor*)editor effectArray:(NSArray*)effectArray bitRate:(NSInteger)bitRate outputPath:(NSString*)outputPath exportingBlock:(exportingBlock)exportingBlock exportedBlock:(exportedBlock)exportedBlock exportFailedBlock:(exportFaildedBlock)exportFaildedBlock cancelledBlock:(exportCancelledBlock)exportCancelledBlock;

- (void)superExportNeedRebuild:(BOOL)need editor:(YXVideoEditor*)editor effectArray:(NSArray*)effectArray animtedLayer:(CALayer *)animatedLayer bitRate:(NSInteger)bitRate outputPath:(NSString*)outputPath exportingBlock:(exportingBlock)exportingBlock exportedBlock:(exportedBlock)exportedBlock exportFailedBlock:(exportFaildedBlock)exportFaildedBlock cancelledBlock:(exportCancelledBlock)exportCancelledBlock;

@end
